基于STM32的电梯智能控制系统(软件实现) 您所在的位置:网站首页 电梯control panel 基于STM32的电梯智能控制系统(软件实现)

基于STM32的电梯智能控制系统(软件实现)

2023-06-08 00:51| 来源: 网络整理| 查看: 265

知识回顾:

本次实践,我们选用的是STM32F407单片机,它是专为要求高性能、低成本、低功耗的嵌入式应用而设计的;我们所选的型号是子系列STM32F407。

       OLED(Organic Light-Emitting Diode),又称为有机电激光显示、有机发光半导体(Organic Electroluminescence Display,OLED)。OLED属于一种电流型的有机发光器件,是通过载流子的注入和复合而致发光的现象,发光强度与注入的电流成正比。OLED在电场的作用下,阳极产生的空穴和阴极产生的电子就会发生移动,分别向空穴传输层和电子传输层注入,迁移到发光层。当二者在发光层相遇时,产生能量激子,从而激发发光分子最终产生可见光。

 IIC oled屏幕驱动原理

处理器和芯片间的通信可以形象的比喻成两个人讲话:1、你说的别人得能听懂:双方约定信号的协议。2、你的语速别人得能接受:双方满足时序要求。

一、IIC总线的信号类型

1、开始信号:处理器让SCL时钟保持高电平,然后让SDA数据信号由高变低就表示一个开始信号。同时IIC总线上的设备检测到这个开始信号它就知道处理器要发送数据了。

2、停止信号:处理器让SCL时钟保持高电平,然后让SDA数据信号由低变高就表示一个停止信号。同时IIC总线上的设备检测到这个停止信号它就知道处理器已经结束了数据传输,我们就可以各忙各个的了,如休眠等。二、IIC数据传输过程

1、在数据传输时,SDA的数据在SCL为高电平时,必须保持稳定,SCL高电平器件完成数据的传输。在SCL低电平器件,可以任意改变SDA的数据。数据写入过程是从最好为开始,高位在前,低位在后,即MSB。 2、响应信号(ACK):接收器在接收到8位数据后,在第9个时钟周期,拉低SDA电平。即接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。三、数据写入的过程

首先发送一个开始信号,接着发送从机地址,OLED的从机地址前7位为地址,最后一位表示读(1)或者写(0)。应答ACK信号表示有这个从设备存在。在接收到应答信号后,发送控制位,来区分之后所发送的数据是控制命令还是显示相关的数据。在发送控制位后,等待应答信号。然后发送相应的控制命令或者数据。最后发送停止信号,表示数据传输完成。

软件实现

主函数:

#include "stm32f4xx.h" #include "oled.h" #include "bmp.h" #include "LED.h" #include "stdio.h" #include "elevator.h" #include "stdlib.h" #define LOW '0' #define HIGH '9' static uint8_t floor_now='1'; static uint8_t floor_request='0'; static uint8_t floor_end='0'; static int check=0; void USART1_IRQHandler(void) { uint8_t data; if(USART_GetFlagStatus(USART1,USART_IT_RXNE)==SET) { data = USART_ReceiveData(USART1); if(!(floor_end>=LOW&&floor_end=LOW&&floor_request=LOW&&floor_requestCTRL = 0; SysTick->LOAD = (168); SysTick->VAL = 0; SysTick->CTRL = 5; while((SysTick->CTRL & (1CTRL = 0; SysTick->LOAD = (168000); SysTick->VAL = 0; SysTick->CTRL = 5; while((SysTick->CTRL & (1


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有